Client Side Template

{[root]}

Description

Accesses the root object

If your use the {*root} command to, say, add a footer or header when using a JSON array as your data source, then this creates a root object that might look something like this:

var data = {
    root: [
            {firstname: 'Fred', lastname: 'Smith'},
            {firstname: 'John', lastname: 'Jones'}
           ]
    }

{[root]} is a system object that refers to the data that is being expanded. With {[root]} you can use some javascript properties, like .length, to acquire information about the array. You can also use [root] to access elements in an array. For example, say you had this data set in the Template Tester:

[
    {firstname: 'Fred', lastname: 'Smith'},
    {firstname: 'John', lastname: 'Jones'},
    {firstname: 'Ace', lastname: 'Rimmer'}
]

You can create a root object in the template by using the {*root}{/*root} commands.

{*root}
{*header}There are people:{/*header}<br/>
{/*root}

You can then use {[root][0].firstname} in the template to any access the firstname property in the first element of the root array.

{*root}
{*header}There are people {[root][0].firstname} :{/*header}<br/>
{/*root}

The result:

There are people Fred :

Change the element to be [2] and the data will change accordingly:

{*root}
{*header}There are people {[root][2].firstname} :{/*header}<br/>
{/*root}

Result:

There are people Ace :

In order to reference the last item in an array you can also use [-1]

{*root}
{*header}There are people {[root][-1].firstname} :{/*header}<br/>
{/*root}

In this case the result will be the same.

There are people Ace :